package com.qf.collection.list;

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.ListIterator;
import java.util.function.UnaryOperator;

public class ListDemo {
    public static void main(String[] args) {

        List<String> list1 = new ArrayList<>();
        list1.add("hello");
        list1.add("word");
        System.out.println(list1);
//        List<String> list2 = new ArrayList<>();
//        list2.add("hi");
//        list2.add("123");
//        list1.addAll(0,list2);
//        list1.addAll(list1);
//        System.out.println(list1);

//        ListIterator<String> iterator = list1.listIterator(1);
//        while (iterator.hasNext()){
//            System.out.println(iterator.next());
//        }
//        System.out.println("========================");
//        while (iterator.hasPrevious()) {
//            System.out.println(iterator.previous());
//        }

//        ListIterator<String> iterator = list1.listIterator();
//        while (iterator.hasNext()){
//            System.out.println(iterator.next());
//        }
//        System.out.println("======================");
//        while (iterator.hasPrevious()){
//            System.out.println(iterator.previous());
//        }


//        for (String s : list1) {
//            System.out.println(s);
//        }


//        list1.set(0,"hi00");
//        System.out.println(list1);
//
//        String[] arr = new String[list1.size()];
////        String[] array = list1.toArray(arr);
//        list1.toArray(arr);
////        System.out.println(arr==array);
//        for (int i = 0; i < arr.length; i++) {
//            System.out.println(arr[i]);
//        }

//        Object[] array = list1.toArray();
//        for (int i = 0; i < array.length; i++) {
//            System.out.println(array[i]);
//        }

//        List<String> list3 = list1.subList(0, list1.size()+1);
//        System.out.println(list1);
//        System.out.println(list3);

//        list1.sort(new Comparator<String>() {
//            @Override
//            public int compare(String o1, String o2) {
//                return o2.compareTo(o1);
//            }
//        });
//
//        System.out.println(list1);

//        list1.replaceAll(s -> s.toUpperCase());
//        System.out.println(list1);

//        list1.remove(0);
//        list1.remove("hi");
//        System.out.println(list1);

//        System.out.println(list1.indexOf("word"));
//        System.out.println(list1.lastIndexOf("word"));


//        System.out.println(list1.get(list1.size()));
//        System.out.println(list1.indexOf("word"));

//        list1.add(0,"hi");
//        System.out.println(list1);
//        list1.add(list1.size(),"123");
//        System.out.println(list1);


    }
}
